package day0211;

public class Test3 {
    public static void main(String[] args) {
        //byte short int long float double char boolean
        byte b1=33;  //-128  127
        //java中所有的整数数据默认都是int类型(32位)
        //注意：int类型数据可以赋值给byte，short，char类型的变量(只要不超范围)。
        short s1=-32768;
        char ch=60000;
        int t1=Integer.MAX_VALUE;//2147483647
        //Integer是java提供的java类，用来处理整数数据，包含一些整数相关的方法可以调用。
        System.out.println(Integer.toBinaryString(127));//01111111
        //127转为二进制

        //将字符串数据"01111111"转为十进制
        //System.out.println(Integer.parseInt("01111111",2));
        System.out.println(Integer.toString(127,2));
        //将127转为八进制
        System.out.println(Integer.toString(127,8));

        long l1=923456789021231L;
        //long类型变量可以用int数据赋值，但不能超过int范围，如果超范围可以加L。

        //底层会自动将小类型转化大类型。
        long l2=34; //34 ->  34L

        //如果多个int数据运算，结果如果可能超int范围，就建议把第一个数转为long类型。
        long l3=2147483647L * 2  *3;
        System.out.println(l3);
        int rs1='A' + 1; //66
        System.out.println(rs1);

        char rs2='A' + 1; //65 + 1 = 66
        System.out.println(rs1);//'B'

        //生成一个随机字母 并赋值给变量char letter
        char letter=(char)('A' + (int)(Math.random()*26));

        //(小)byte short int long float double(大)
        //(小)    char int long float double(大)
        //自动类型转化：将小类型数据赋值给大类型变量。
        int n1='A';
        //float f1=3.14;
        double d1=3L;
        //强制类型转化：将大类型数据赋值给小类型变量， 需要用 " (数据类型)"  转化。
        //char c1=3.5; //报错可以进行强制类型转化。
        char c1=(char)65.5;//65//将65表示的字符A赋值给c1
        System.out.println(c1);

    }
}
